package com.gscitysfy.cus.drain.modules.inspection.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gscitysfy.cloudfrmwk.assistant.domain.Result;
import com.gscitysfy.cus.drain.modules.inspection.entity.DrainInspectionMnJob;
import com.gscitysfy.cus.drain.modules.inspection.entity.DrainInspectionMnProblem;
import com.gscitysfy.cus.drain.modules.inspection.entity.DrainInspectionRlTrack;
import com.gscitysfy.cus.drain.modules.inspection.vo.DrainInspectionMnJobVo;
import com.gscitysfy.cus.drain.modules.inspection.vo.MiniProgramCountVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Administrator
 * @since 2022-10-14 15:00:46
 */
public interface IDrainInspectionMnJobService extends IService<DrainInspectionMnJob> {

    Result<Object> getByPage(Page<DrainInspectionMnJob> page, DrainInspectionMnJobVo drainInspectionMnJob);

    void getStutas();

    Map<Long, List<DrainInspectionRlTrack>> trackList(String id);

    List<DrainInspectionMnProblem> problemList(String id);


    boolean del(String ids);

    void export(HttpServletResponse response, DrainInspectionMnJobVo drainInspectionMnJob) throws IOException;

    DrainInspectionMnJobVo planType();

    Result<Object> planXcx(Page<DrainInspectionMnJob> page,String stutas,String plan,String keywords,Integer cmPlanCategory);

    boolean start(String id,String jd,String wd);

    boolean pause(String id);

    boolean continues(String id);

    boolean stop(String id,String jd,String wd);

    Long myJobSize();

    Map<String,Object> myData();

    Result<Object> planPc(String stutas);

    DrainInspectionMnJob detail(Long id);

    DrainInspectionMnJob detailPc(Long id);

    DrainInspectionMnJob detailXj(Long id);

    Result<Object> planXj(String stutas);

    Long[] planSl();

    DrainInspectionMnJob planJxz();

    MiniProgramCountVo countMyXs();

    MiniProgramCountVo countMyJc();
}
